Communication devices such as terminals are also known as e.g. User Equipments (UE), wireless devices, mobile terminals, wireless terminals and/or mobile stations. Terminals are enabled to communicate wirelessly in a cellular communications network, also referred to as wireless communication system, cellular radio system or cellular network. The communication may be performed e.g. between two terminals, between a terminal and a regular telephone and/or between a terminal and a server via a Radio Access Network (RAN) and possibly one or more core networks, comprised within the cellular communications network.
Terminals may further be referred to as mobile telephones, cellular telephones, laptops, or surf plates with wireless capability, just to mention some further examples. The terminals in the present context may be, for example, portable, pocket-storable, hand-held, computer-comprised, or vehicle-mounted mobile devices, enabled to communicate voice and/or data, via the RAN, with another entity, such as another terminal or a server.
The cellular communications network covers a geographical area which is divided into cells, wherein each cell being served by an access node such as a base station, e.g. a Radio Base Station (RBS), which sometimes may be referred to as e.g. “eNB”, “eNodeB”, “NodeB”, “B node”, or BTS (Base Transceiver Station), depending on the technology and terminology used. The base stations, based on transmission power and thereby also cell size, may be of different classes such as e.g. a high power eNB such as a macro eNodeB, a low power eNB such as a home eNodeB or pico base station. A cell is the geographical area where radio coverage is provided by the base station at a base station site. One base station, situated on the base station site, may serve one or several cells. Further, each base station may support one or several communication technologies. The base stations communicate over the air interface operating on radio frequencies with the terminals within range of the base stations. In the context of this disclosure, the expression Downlink (DL) is used for the transmission path from the base station to the wireless device. The expression Uplink (UL) is used for the transmission path in the opposite direction i.e. from the wireless device to the base station.
In 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE), base stations, which may be referred to as eNodeBs or even eNBs, may be directly connected to one or more core networks.
3GPP LTE radio access standard has been written in order to support high bitrates and low latency both for uplink and downlink traffic. All data transmission is in LTE controlled by the radio base station.
Hybrid Access is a procedure, whereby two, or more, accesses are used to reach a server, e.g., an origin server, from a client.
Multi-Path Transmission Control Protocol (MPTCP), as described for example in https://tools.ietf.org/html/rfc6824, is one technique that may be used to achieve this.
MPTCP is an extension to Transmission Control Protocol (TCP) that may add the capability of simultaneously using multiple paths per single TCP connection. The TCP is a core protocol of the Internet Protocol Suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP may provide reliable, ordered, and error-checked delivery of a stream of octets between applications running on hosts communicating over an IP network. TCP is the protocol that major Internet applications such as the World Wide Web, email, remote administration and file transfer rely on. Each connection, also referred to herein as subflow, may have separate congestion control. In MPTCP, a sequence number on MPTCP level may achieve reliable in-order delivery of packets, in a similar fashion as TCP.
FIG. 1 depicts graphically a comparison of a regular TCP differs with an MPTCP. Both, a TCP and an MPTCP may be associated with an application and a socket Application Programming Interface (API). An application may be understood as a set of computer programs designed to permit the user to perform a group of coordinated functions, tasks, or activities. Application software may not run on itself but is dependent on system software to execute. Examples of an application include a word processor, a spreadsheet design and management system, an aeronautical flight simulator, a console game, a drawing, painting, and illustrating system, or a library management system. A socket API may be understood as an application programming interface, usually provided by the operating system that may allow application programs to control and use network sockets. Internet socket APIs may be usually based on the Berkeley sockets standard. The Internet Protocol (IP) may be understood as the principal communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function may enable internet working, and may establish the Internet.
IP may have the task of delivering packets from the source host to the destination host solely based on the IP addresses in the packet headers. For this purpose, IP may define packet structures that encapsulate the data to be delivered. It may also define addressing methods that may be used to label the datagram with source and destination information.
As shown in FIG. 1, while a regular TCP is associated with a single IP address, IPx, in accordance with a first communication technology e.g., IPx may be LTE, in MPTCP every subflow is associated with a respective communication technology. For example, IPx may be LTE and IPy may be, e.g., WLAN/DSL. In the Figure, L1 represents Layer 1. In the seven-layer OSI model of computer networking, the physical layer or layer 1 is the first (lowest) layer. The implementation of this layer is often termed PHY. The physical layer may be understood as comprising the basic networking hardware transmission technologies of a network. It may underlie the logical data structures of the higher level functions in a network. The physical layer may define the means of transmitting raw bits rather than logical data packets over a physical link connecting network nodes. L2 represents Layer 2. In the OSI model of computer networking, the data link layer is layer 2 of seven layers. The data link layer may be understood as the protocol layer that transfers data between adjacent network nodes in a wide area network or between nodes on the same local area network segment. The data link layer may provide the functional and procedural means to transfer data between network entities and might provide the means to detect and possibly correct errors that may occur in the physical layer.
An interesting Hybrid Access use case may be to combine a Digital Subscriber Line (DSL) with LTE, as depicted, for example, in FIG. 2. As shown in the upper half of FIG. 2, when a single, first, connection 211 is used in accordance with a first communication technology, e.g., DSL in this example, transmission rates are of 12.906 kilobits per second (kbit/s) for downloading data from the internet, and 4.844 kbit/s for uploading data to the internet.
As shown in the lower half of FIG. 2, when hybrid access is used, and two connections, are used, a first MPTCP connection 211 in accordance with a first communication technology, e.g., DSL in this example, and a second MPTCP connection 212 in accordance with a second communication technology, e.g., LTE in this example, transmission rates are increased to 24.245 kbit/s for downloading data from the internet, and 7.885 kbit/s for uploading data to the internet. Thus, with hybrid access, higher bandwidth and better resiliency are achieved, which translate into a greatly improved user experience.
The Hybrid Access technology may therefore be used to increase total bandwidth for the end-user.
The architecture to implement Hybrid Access technology to increase total bandwidth for the end-user using MPTCP may look like the example depicted in FIG. 3. As depicted in the example of FIG. 3, a client 301 may set-up a TCP-connection 302, or several TCP, to a Customer Premises Equipment (CPE) 311. The CPE 311 may be understood as a device that may be used for access via cable network. For example, in some embodiments, the CPE 311 may be an enhanced DLS modem that may also include LTE access. One, MPTCP-connection 321 is via a first communication technology, in this case a fixed network 331, e.g., DSL, and the other MPTCP-connection 322 is via a second communication technology, in this case a mobile network 332, e.g., LTE. The CPE 311 may set-up two MPCTP-connections to an MPTCP Proxy 341. An MPTCP Proxy may be understood as a device or node that implements MPTCP functionality such as combining incoming MPTCP flows to one TCP, and sending it further on to its destination. In the example of FIG. 3, the MPTCP Proxy 341 combines the two MPTCP-connections to one TCP-connection 351 to the Origin Server 361.
Neither the Client 331 nor the Origin Server 361 know that up-link and down-link traffic has been sent using MPTCP.
The MPTCP-connection 321 via the first communication technology may be via a Broadband Network Gateway (BNG) 371. The BNG 371, which may also be referred to as a Broadband Remote Access Server (BRAS, B-RAS or BBRAS), may route traffic to and from broadband remote access devices such as Digital Subscriber Line Access Multiplexers (DSLAM) on an Internet Service Provider's (ISP) network.
The other MPTCP-connection 322 via the second communication technology may be via a Packet Data Network Gateway (PGW) 372. The PGW 372 may provide connectivity from a communication device, e.g., a UE, to external packet data networks by being the point of exit and entry of traffic for the communication device. A communication device may have simultaneous connectivity with more than one PGW for accessing multiple Packet Data Networks (PDN). The PGW 372 may perform policy enforcement, packet filtering for each user, charging support, lawful interception and packet screening. Another role of the PGW 372 may be to act as the anchor for mobility between 3GPP and non-3GPP technologies such as WiMAX and 3GPP2, e.g., Code Division Multiple Access (CDMA) 1× and Evolution-Data Optimized (EvDO).
The MPTCP Proxy 341 may be located close to the PGW 372 or the BNG 371 in a backbone network 380 or network backbone, which may be understood as a part of a computer network infrastructure that interconnects various pieces of the network, providing a path for the exchange of information between different Local Area Networks (LANs) or subnetworks. The backbone network 380 may tie together diverse networks in the same building, in different buildings in a campus environment, or over wide areas. Normally, the capacity of the backbone network 380 may be greater than the networks connected to it.
The Policy and Charging Rules Function (PCRF) 390 may be understood as the software node designated in real-time to determine policy rules in a multimedia network. Unlike earlier policy engines that were added onto an existing network to enforce policy, the PCRF may be understood as a software component that may operate at the network core and may access subscriber databases and other specialized functions, such as a charging system, in a centralized manner.
The PCRF 390 may be understood as the part of the network architecture that aggregates information to and from the network operational support systems, and other sources, such as portals, in real time, supporting the creation of rules and then automatically making policy decisions for each subscriber active on the network. Such a network may offer multiple services, quality of service (QoS) levels, and charging rules. The PCRF 390 may provide a network agnostic solution, wire line and wireless, and may also be integrated with different platforms like billing, rating, charging, and subscriber database, or may also be deployed as a standalone entity.
FIG. 4 is a schematic diagram representing the protocol stacks involved in a particular example of the MPTCP-connection 321 via the first communication technology and the other MPTCP-connection 322 via the second communication technology as described in FIG. 3. In this particular example of FIG. 4, the first communication technology is DSL and the second communication technology is LTE. Some of the components of the architecture described in FIG. 3, are also represented in FIG. 4. Each of the client 301 and the Origin Server 361 engage in a TCP and an IP protocol stack. Each of the CPE 311 and the MPTCP Proxy 341 engage in a TCP and a respective IP protocol stack, and an MPTCP and a respective protocol stack. The MPTCP-connection 321, represented as MPTCP2, provides DSL access, and the other MPTCP-connection 322, represented as MPTCP1, provides LTE access. The TCP-connection 302 between the client 301 and the CPE 311 is represented as TCP1, the TCP-connection 351 between the MPTCP Proxy and the Origin Server 361 is represented as TCP4. The MPTCP-connection 321 via the first communication technology is associated with a TCP connection, TCP3, and the other MPTCP-connection 322 via the second communication technology is associated with a TCP connection, TCP2.
While hybrid access may increase total bandwidth for the end-user, existing methods are associated with a high resource usage overhead.